// var a = 1

// function fn() {
//     let a = 2
//     return () => {
//         console.log(a);
//     }
// }

// const bar = fn()
// bar()


// function foo() {
//     var a = 1
//     let b = 2
//     {
//         let b = 3
//         var c = 4
//         let d = 5
//         console.log(a)
//         console.log(b)
//     }
//     console.log(b)
//     console.log(c)
//     console.log(d)
// }
// foo()


// function bar() {
//     console.log(myName)
// }
// function foo() {
//     var myName = 'iverson'
//     bar()
// }
// var myName = 'kobe'
// foo()


// function foo() {
//     var myName = 'iverson'
//     let test1 = 1
//     let test2 = 2

//     var innerBar = {
//         getName: function () {
//             console.log(test1)
//             return myName
//         },
//         setName: function (newName) {
//             myName = newName
//         }
//     }

//     return innerBar
// }

// var bar = foo()
// bar.setName('kobe')

// console.log(bar.getName())


function fn1() {
    let a = 1
    console.log(b)
    function fn2() {
        let b = 2
        console.log(a)
    }
    fn2()
}
fn1()